/* 
 * File:   ListaAlumno.h
 * Author: JUANJO
 *
 * Created on 15 de noviembre de 2014, 02:54 PM
 */

#ifndef LISTAALUMNO_H
#define	LISTAALUMNO_H

#include "Alumno.h"

typedef struct n_l_a{
    struct n_l_a *sig;
    struct n_l_a *ant;
    Alumno *alumno;
} NodoListaAlumno;

typedef struct l_a{
    NodoListaAlumno *ini;
    NodoListaAlumno *fin;
    int cant; //elementos de la lista
    NodoListaAlumno *fin_arch; //puntero al último alumno leído de archivo
}ListaAlumno;

ListaAlumno* crear_ListaAlumno();
ListaAlumno nueva_ListaAlumno();
void insertarFinal_ListaAlumno(ListaAlumno*,Alumno*);
void ordenar_ListaAlumno(ListaAlumno*); //FALTA DEFINIR
void imprimir_ListaAlumno(ListaAlumno*); //FALTA DEFINIR
NodoListaAlumno* rem_ini_ListaAlumno(ListaAlumno *);
void separar_ListaAlumno(ListaAlumno *, ListaAlumno *, ListaAlumno *);
int comp_ListaAlumno(ListaAlumno *,ListaAlumno *,int );
void merge_ListaAlumno(ListaAlumno *,ListaAlumno *,ListaAlumno *,int );
void merge_sort_ListaAlumno(ListaAlumno *, int );
void imprimir_ListaAlumno_des(ListaAlumno* );

#endif	/* LISTAALUMNO_H */

